using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Drawing;
using System.Data;
using System.Text;
using System.Windows.Forms;
using DAO;
using DTO;
namespace Presentation
{
    public partial class UserControlDanhsachcachangthuongban : UserControl
    {
        public UserControlDanhsachcachangthuongban()
        {
            InitializeComponent();
        }

        private void UserControlDanhsachcachangthuongban_Load(object sender, EventArgs e)
        {

        }

        private void btnThoat_Click(object sender, EventArgs e)
        {
            this.Visible = false;
        }

        private void btnTracuu_Click(object sender, EventArgs e)
        {
            try
            {
                if (txtGioihan.Text!="")
                
                {
                    lblloi.Text = "";
                     try
                        {
                            int gh=int.Parse(txtGioihan.Text);
                            if(gh==0)
                            {
                                lblloi.Text = "Bạn không được nhập giới hạn bằng 0";
                                return;
                            }
                        }
                        catch 
                        {
                            lblloi.Text = "Bạn nhập giới hạn chưa đúng";
                            return;
                       }
                }
               
              
            HoaDonMuaDao hdmuadao = new HoaDonMuaDao();
            // dung ham select all de lay ngay cua hoa don
            HoadonmuaDto[] hdmuadto = hdmuadao.SelectAll();
            DateTime tungay = DateTime.Parse(dtpTungay.Text);
            DateTime denngay = DateTime.Parse(dtpDenngay.Text);
            int gioihan = (txtGioihan.Text.Length == 0) ? 10 : Convert.ToInt32(txtGioihan.Text);
            List<DuocPhamDto> list = new List<DuocPhamDto>();
            // dung list vi ham showCurrentItems() tra ve mot mang duoc pham
            //for (int i = 0; i < hdmuadto.Length; i++)
            //{
            //    if (tungay <= hdmuadto[i].NgayTao && denngay >= hdmuadto[i].NgayTao)
            //    {
                    DuocPhamDao dpdao = new DuocPhamDao();
                    DuocPhamDto[] dpdto = dpdao.ShowSoldItems(tungay, denngay);
                    list.AddRange(dpdto);
                    //list.Add(hdmuadto[i]);
            //    }
            //}
            //gioi han size cho datasource
            //kiem tra xem co san pham nao ton tai ko. Neu ko co thi xuat thong bao
            if(list.Count==0)
            {
                MessageBox.Show(this,"Không tồn tại sản phẩm nào trong danh mục.");
                return;
            }
            if(list.Count <= gioihan)
            {
                gioihan = list.Count;
            }

            DuocPhamDto[] duocPhamDtos = new DuocPhamDto[gioihan];
            list.CopyTo(0,  duocPhamDtos, 0, gioihan);
                //dua du lieu vao datagridview

            dgvDanhmuccachangthuongban.AutoGenerateColumns = false;
            dgvDanhmuccachangthuongban.DataSource = duocPhamDtos;
            float sum = 0;
            for (int i = 0; i < dgvDanhmuccachangthuongban.Rows.Count; i++)
            {
                sum = sum + float.Parse(dgvDanhmuccachangthuongban.Rows[i].Cells[6].Value.ToString());
            }
            txttongtien.Text = Convert.ToDecimal(sum).ToString();
            btnExport.Enabled = true;
            
        }
        catch (Exception exp)
        {
            throw new Exception(exp.ToString());
        }
        }

        private void dgvDanhmuccachangthuongban_DataBindingComplete(object sender, DataGridViewBindingCompleteEventArgs e)
        {
            DataGridView grv = (DataGridView)sender;
            Utils.MakeSothutuColumn(grv, "itemStt"); ;
        }

        private void btnExport_Click(object sender, EventArgs e)
        {
            Utils.ExportToExcel(dgvDanhmuccachangthuongban);
        }
    }
}
 